<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <button>按钮</button>

  <script>
    /**
     * elem.addEventListener(type, listener, useCapture)
     *  ● 每种事件可以有多个事件监听函数
     *  ● 可以选择执行事件监听函数的时机（捕获阶段、冒泡阶段）
     */
    const elem = document.querySelector('button')

    function onClick() {
      console.log('onClick')
    }

    // 注册事件监听
    elem.addEventListener('click', onClick)

    // 注销事件监听
    elem.removeEventListener('click', onClick)

    /**
     * useCapture
     *  ● true    在捕获阶段执行事件监听函数
     *  ● false   在冒泡阶段执行事件监听函数
     */
    // 在冒泡阶段执行事件监听函数
    elem.addEventListener('click', onClick, true)
  </script>
</body>

</html>